/* SPDX-License-Identifier: GPL-2.0 */
/*
 * Copyright @ Huawei Technologies Co., Ltd. 2024-2024. ALL rights reversed.
 */
#ifndef _LINUX_SYSMONITOR_SIGNAL_H
#define _LINUX_SYSMONITOR_SIGNAL_H

#include <linux/notifier.h>
#include <linux/signal_types.h>

typedef struct send_sig_info_data {
	int sig;
	struct kernel_siginfo *info;
	struct task_struct *p;
	int group;
} send_sig_info_data_t;

void sysmonitor_send_sig_info(int sig, struct kernel_siginfo *info,
			struct task_struct *p, int type);

int register_signo_catch_notifier(struct notifier_block *nb);
int unregister_signo_catch_notifier(struct notifier_block *nb);
#endif /* _LINUX_SYSMONITOR_SIGNAL_H */
